#include "Math.h"

#include "Test.h"

namespace {
	BEFORE {
		int i = 0;
		i++;
	}

	TEST(Matrix4x4EqualsOperator) {
		Matrix4x4 m1;
		Matrix4x4 m2;

		m1._11 = 1; m1._12 = 2; m1._13 = 3; m1._14 = 4;
		m1._21 = 5; m1._22 = 6; m1._23 = 7; m1._24 = 8;
		m1._31 = 9; m1._32 = 10; m1._33 = 11; m1._34 = 12;
		m1._41 = 13; m1._42 = 14; m1._43 = 15; m1._44 = 16;
	
		m2._11 = 1; m2._12 = 2; m2._13 = 3; m2._14 = 4;
		m2._21 = 5; m2._22 = 6; m2._23 = 7; m2._24 = 8;
		m2._31 = 9; m2._32 = 10; m2._33 = 11; m2._34 = 12;
		m2._41 = 13; m2._42 = 14; m2._43 = 15; m2._44 = 16;

		ASSERT_EQUALS(m1, m2);
	}

	TEST(CreateIdentMatrix) {
		Math& math = createMath();

		Matrix4x4 expected;
		expected._11 = 1;
		expected._22 = 1;
		expected._33 = 1;
		expected._44 = 1;

		Matrix4x4 actual = math.createIdentMatrix();

		ASSERT_EQUALS(expected, actual);
	}
}